package cn.com.jcoo.example.api;

import cn.com.jcoo.Res;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 用户个人账号管理
 */
@Slf4j
@Validated
@RestController
@RequestMapping
@RequiredArgsConstructor
public class UserMineApi {

    /**
     * 更新账号名称
     *
     * @folder 个人账号设置
     */
    @Operation(summary = "更新用户名")
    @PostMapping("/updateName")
    public Res<?> updateName() {
        return Res.ok();
    }

    /**
     * 重置账号密码
     * @param newPassword 新密码
     * @folder 个人账号设置
     */
    @Operation(summary = "重置账号密码")
    @PostMapping(value = "/updatePassword")
    public Res<?> updatePassword(String newPassword) {
        return Res.ok();
    }

    /**
     * 更新个人信息
     *
     * @folder 个人账号设置
     */
    @Operation(summary = "更新个人信息")
    @PostMapping("/update")
    public Res<?> update() {
        return Res.ok();
    }

    /**
     * 修改手机号
     *
     * @folder 个人账号设置
     */
    @Operation(summary = "修改手机号")
    @PostMapping("/updatePhone")
    public Res<?> updatePhone() {
        return Res.ok();
    }

    /**
     * 绑定邮箱
     *
     * @folder 个人账号设置
     */
    @Operation(summary = "绑定邮箱")
    @PostMapping("/bindEmail")
    public Res<?> bindEmail() {
        return Res.ok();
    }

    /**
     * 修改邮箱
     *
     * @folder 个人账号设置
     */
    @Operation(summary = "修改邮箱")
    @PostMapping("/updateEmail")
    public Res<?> updateEmail() {
        return Res.ok();
    }

    /**
     * 解绑邮箱
     *
     * @folder 个人账号设置
     */
    @Operation(summary = "解绑邮箱")
    @PostMapping("/unbindEmail")
    public Res<?> unbindEmail() {
        return Res.ok();
    }

    /**
     * 注销账号
     *
     * @folder 个人账号设置
     */
    @Operation(summary = "注销账号")
    @PostMapping("/unregister")
    public Res<?> unregister() {
        return Res.ok();
    }
}
